package negocio;

import java.sql.SQLException;
import java.util.Iterator;

import repositorio.ConexaoBD;
import repositorio.RepositorioResultado;
import dados.Resultado;
import excecoes.ResultadoNaoExisteException;

public class ControladorResultado {

	private RepositorioResultado repositorio;

	public ControladorResultado(ConexaoBD conexao){
		this.repositorio = new RepositorioResultado(conexao);
	}

	public void cadastrar(Resultado resultado) throws SQLException{
		this.repositorio.inserir(resultado);
	}

	public void remover(Resultado resultado) throws SQLException{
		this.repositorio.remover(resultado.getId());
	}

	public void editar(Resultado resultado) throws SQLException{
		this.repositorio.editar(resultado);
	}

	public Resultado buscar(Resultado resultado) throws SQLException, ResultadoNaoExisteException{
		Resultado temp = this.repositorio.buscar(resultado.getId());

		if(temp == null){
			throw new ResultadoNaoExisteException();
		}
		else{
			return temp;
		}
	}

	public Iterator<Resultado> getIterator() throws SQLException{
		return this.repositorio.iterator();
	}

	public boolean existe(Resultado resultado) throws SQLException{

		boolean retorno = false;

		Resultado temp = this.repositorio.buscar(resultado.getId());

		if(temp != null){
			retorno = true;
		}
		return retorno;
	}
}
